home *** CD-ROM | disk | FTP | other *** search
/ Internet Surfer: Getting Started / Internet Surfer - Getting Started (Wayzata Technology)(7231)(1995).bin / pc / mac / bonus / peter_le / talk_sou / my_libra / mydialog.uni < prev    next >
Text File  |  1992-04-20  |  4KB  |  156 lines

  1. unit MyDialogs;
  2.  
  3. { This program was written by Peter N Lewis, Mar 1992 in THINK Pascal 4.0.1 }
  4.  
  5. interface
  6.  
  7.     procedure SetItemText (dlg: dialogPtr; item: integer; text: str255);
  8.     procedure GetItemText (dlg: dialogPtr; item: integer; var text: str255);
  9.     procedure HiliteItem (dlg: dialogPtr; item: integer; on: boolean);
  10.     function ControlEnabled (dlg: dialogPtr; item: integer): boolean;
  11.     procedure OutlineDefault1 (dp: dialogPtr; item: integer);
  12.     procedure SetUpDefaultOutline (dp: dialogPtr; def_item, user_item: integer);
  13.     procedure FlashItem (dlg: dialogPtr; item: integer);
  14.     procedure SetDItemRect (dp: dialogPtr; item: integer; rr: rect);
  15.     procedure GetDItemRect (dp: dialogPtr; item: integer; var rr: rect);
  16.     function GetDControlHandle (dp: dialogPtr; item: integer): controlHandle;
  17.     function GetDItemhandle (dp: dialogPtr; item: integer): handle;
  18.     procedure SetDItemHandle (dp: dialogPtr; item: integer; h: univ handle);
  19.  
  20. implementation
  21.  
  22. {$S Util}
  23.     procedure SetItemText (dlg: dialogPtr; item: integer; text: str255);
  24.         var
  25.             it: integer;
  26.             ih: handle;
  27.             box: rect;
  28.             oldtext: str255;
  29.     begin
  30.         GetDItem(dlg, item, it, ih, box);
  31.         GetIText(ih, oldtext);
  32.         if oldtext <> text then
  33.             SetIText(ih, text);
  34.     end;
  35.  
  36. {$S Util}
  37.     procedure GetItemText (dlg: dialogPtr; item: integer; var text: str255);
  38.         var
  39.             it: integer;
  40.             ih: handle;
  41.             box: rect;
  42.             oldtext: str255;
  43.     begin
  44.         GetDItem(dlg, item, it, ih, box);
  45.         GetIText(ih, text);
  46.     end;
  47.  
  48. {$S Util}
  49.     procedure HiliteItem (dlg: dialogPtr; item: integer; on: boolean);
  50.         var
  51.             k: integer;
  52.             h: handle;
  53.             r: rect;
  54.     begin
  55.         GetDItem(dlg, item, k, h, r);
  56.         HiliteControl(controlHandle(h), 255 * ord(not on));
  57.     end;
  58.  
  59. {$S Util}
  60.     function ControlEnabled (dlg: dialogPtr; item: integer): boolean;
  61.         var
  62.             k: integer;
  63.             h: handle;
  64.             r: rect;
  65.     begin
  66.         GetDItem(dlg, item, k, h, r);
  67.         ControlEnabled := controlHandle(h)^^.contrlHilite <> 255;
  68.     end;
  69.  
  70. {$S}
  71.     procedure OutlineDefault1 (dp: dialogPtr; item: integer);
  72.         var
  73.             kind: integer;
  74.             h: handle;
  75.             r: rect;
  76.     begin
  77.         GetDItem(dp, 1, kind, h, r);
  78.         PenSize(3, 3);
  79.         InsetRect(r, -4, -4);
  80.         FrameRoundRect(r, 16, 16);
  81.     end;
  82.  
  83. {$S Util}
  84.     procedure SetUpDefaultOutline (dp: dialogPtr; def_item, user_item: integer);
  85.         var
  86.             kind: integer;
  87.             h: handle;
  88.             r: rect;
  89.     begin
  90.         if def_item <> 1 then
  91.             DebugStr('MyUtilities:SetUpDefaultOutline:Cant handle anything except 1 yet');
  92.         GetDItem(dp, user_item, kind, h, r);
  93.         InsetRect(r, -10, -10);
  94.         SetDItem(dp, user_item, userItem, handle(@OutlineDefault1), r);
  95.     end;
  96.  
  97. {$S Util}
  98.     procedure FlashItem (dlg: dialogPtr; item: integer);
  99.         var
  100.             kind: integer;
  101.             h: handle;
  102.             r: rect;
  103.             f: longInt;
  104.     begin
  105.         GetDItem(dlg, item, kind, h, r);
  106.         HiliteControl(controlHandle(h), 1);
  107.         Delay(2, f);
  108.         HiliteControl(controlHandle(h), 0);
  109.     end;
  110.  
  111. {$S Util}
  112.     procedure SetDItemRect (dp: dialogPtr; item: integer; rr: rect);
  113.         var
  114.             kind: integer;
  115.             h: handle;
  116.             r: rect;
  117.     begin
  118.         GetDItem(dp, item, kind, h, r);
  119.         SetDItem(dp, item, kind, h, rr);
  120.     end;
  121.  
  122. {$S Util}
  123.     procedure GetDItemRect (dp: dialogPtr; item: integer; var rr: rect);
  124.         var
  125.             kind: integer;
  126.             h: handle;
  127.     begin
  128.         GetDItem(dp, item, kind, h, rr);
  129.     end;
  130.  
  131.     function GetDControlHandle (dp: dialogPtr; item: integer): controlHandle;
  132.     begin
  133.         GetDControlHandle := ControlHandle(GetDItemHandle(dp, item));
  134.     end;
  135.  
  136.     function GetDItemhandle (dp: dialogPtr; item: integer): handle;
  137.         var
  138.             kind: integer;
  139.             h: handle;
  140.             r: rect;
  141.     begin
  142.         GetDItem(dp, item, kind, h, r);
  143.         GetDItemhandle := h;
  144.     end;
  145.  
  146.     procedure SetDItemHandle (dp: dialogPtr; item: integer; h: univ handle);
  147.         var
  148.             kind: integer;
  149.             hh: handle;
  150.             r: rect;
  151.     begin
  152.         GetDItem(dp, item, kind, hh, r);
  153.         SetDItem(dp, item, kind, h, r);
  154.     end;
  155.  
  156. end.